iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 24
1

搞懂變數作用在哪運作是非常重要的一件事。
作用域就是變數的生存範圍
變數分為全域和區域

 var a = 10
      function test(){
        console.log(a);
      }

      var obj = {
        hello: function() {
          test() ;
          console.log(a);
        },
        
        hello2: function() {
          var a = 200;
          c=13;
          console.log('a='+a);
          console.log('c='+c);
          test() ;
        }
      }

      test();
      obj.hello();
      obj.hello2();
      console.log('外部c='+c);

https://ithelp.ithome.com.tw/upload/images/20201006/20129570QIYOlbBThr.png
在function為作用域內如果沒有宣告變數就使用,他會被提升到全域變數,也就是說原本要使用的變數只是區域內使用
但是沒有經過宣告就使用那他就會變成全域都可使用,這樣就有就有衝突的可能性。

而在作用域內如果沒有找到要使用的變數那他就會往上一層找,還是沒有就會回傳not defined

var a = 10
      function test(){
        console.log(a);
        console.log(b);       
      }

https://ithelp.ithome.com.tw/upload/images/20201006/20129570zqQoKwTeJJ.png


上一篇
DAY23-JS物件
下一篇
DAY25-this三問
系列文
30天資料整理30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言